home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Wonky Flux Batch 2019 02
/
Wonky_Flux_Batch_2019-02.zip
/
Wonky Flux Batch 2019-02
/
063 - Wasteland Side 1.dsk
/
INTRO.bas
< prev
next >
Wrap
BASIC Source File
|
2019-02-17
|
6KB
|
129 lines
1 ONERR GOTO 114
2 GOTO 115
3 I1% = TH% +1:I2% = NT%
4 FOR IS = I1% TO I2%
5 S = IS -TH%
6 BK% = 0: GOSUB 103
7 IF BK% <1 THEN 10
8 I1% = IS -1: IF I1% <TH% +1 THEN I1% = TH% +1: GOSUB 40
9 IS = NT%: GOTO 11
10 IF IS = NT% OR (S = A1 AND I$ = N$) THEN GOTO 41
11 NEXT IS: GOTO 4
12 I$ = X$
13 V = 22:H = 19: IF S = A1 THEN V = 14:H = 35
14 IF F2% = 2 THEN V = 15:H = 18
15 GOSUB 95: PRINT I$;
16 X = PEEK( -16368): GET T$: IF T$ = X$ THEN 16
17 A = ASC(T$): IF A >90 THEN T$ = CHR$(A -32):A = A -32
18 IF A = 13 OR A = 27 THEN 22
19 IF S = A2 AND T$ = H$ THEN 22
20 IF A = 8 THEN GOSUB 36: GOTO 12
21 I$ = T$: GOTO 13
22 PRINT CHR$(1);: IF I$ = X$ THEN I$ = T$
23 V% = VAL(I$): IF F2% = 1 OR F2% = 2 THEN GOTO 39
24 IF S < >A2 THEN 27
25 IF I$ = H$ THEN RETURN
26 IF HF% <1 THEN 38
27 IF S < >A1 THEN 30
28 IF I$ = Y$ OR I$ = N$ OR I$ = B$ OR I$ = Q$ THEN 39
29 GOSUB 36: GOTO 38
30 IF S = 1 AND (I$ = SP$ OR I$ = CR$) THEN 39
31 IF S >1 AND (I$ = SP$ OR I$ = CR$ OR I$ = B$ OR I$ = Q$) THEN 39
32 GOSUB 40: GOTO 12
33 X = PEEK( -16368):V = 19:H = 40: GOSUB 95: GET I$: PRINT CHR$(1): IF I$ = X$ THEN 33
34 IF I$ = CR$ OR I$ = SP$ OR I$ = ES$ THEN RETURN
35 GOSUB 40: GOTO 33
36 IF I$ < >CR$ THEN PRINT CHR$(8);
37 PRINT ;SP$; CHR$(8);: RETURN
38 GOSUB 40: GOTO 12
39 X = PEEK(SO):X = PEEK(SO): RETURN
40 FOR I = 1 TO 30:X = PEEK(SO): NEXT : RETURN
41 GOSUB 98: GOSUB 88:V = 10:H = 3: GOSUB 95: PRINT "PLEASE WAIT: DISK DRIVE IN USE..."
42 V = 1:H = 5: GOSUB 95: PRINT " ...GOING TO NEXT PHASE "
43 PRINT CHR$(4);"RUN MAIN"
44 REM
45 GOSUB 98
46 V = 1:H = 6: GOSUB 95: PRINT " ....QUITTING"; SPC( 10)
47 V = 10:H = 2: GOSUB 95: PRINT "TYPE "DQ$"Y"DQ$" IF YOU REALLY WANT TO QUIT"
48 V = 12:H = 3: GOSUB 95: PRINT "TYPE "DQ$"C"DQ$" TO CONTINUE THE PROGRAM"
49 F2% = 2: GOSUB 12: IF I$ = C$ THEN I$ = X$: RETURN
50 IF I$ = Y$ THEN TEXT : HOME :V = 10:H = 13: GOSUB 95: PRINT "SO LONG...": END
51 GOSUB 40: GOTO 49
52 F0% = 0:HF% = 1
53 INVERSE : FOR I = 1 TO H%:V% = YT%(I): POKE 66,V%:NN = 3 *V% -2 -23 * INT((V% -1)/8):NU = 1023 +40 *(NN -1) +8 * INT((NN -1)/3) +XT%(I):LO = 60: GOSUB 68
54 NU = 1023 +40 *(NN -1) +8 * INT((NN -1)/3) +XT%(I)
55 LO = 60: GOSUB 68:L% = XB%(I) -XT%(I): POKE 64,L%:NR% = YB%(I) -YT%(I): POKE 65,NR%: CALL 887:V = YT%(I):H = XT%(I) -1: IF H < = 0 THEN H = 1
56 GOSUB 95: PRINT I;: NEXT I: NORMAL :F1% = 1: GOSUB 70
57 F2% = 1: GOSUB 12:F0% = 1: IF I$ = CR$ OR I$ = SP$ OR I$ = ES$ THEN F0% = 0: RETURN
58 IF V% <1 OR V% >H% THEN GOSUB 40: GOTO 57
59 NN% = NS%(V%):PP = A0 +2 *NN%
60 LO = PP: GOSUB 69:HP = NU: GOSUB 62: GOSUB 33: IF I$ = ES$ THEN F0% = 0
61 RETURN
62 NU = HP +3 +5 * PEEK(HP):LO = 60: GOSUB 68:NU = 1024:LO = 62: GOSUB 68: CALL 770:V = 1:H = 4: GOSUB 95: PRINT "DEFINITION:":V = 3:H = 2: GOSUB 95: PRINT "..."
63 F1% = 2: GOSUB 88: GOSUB 70: RETURN
64 AP = A0 +2 *IS:AH = PEEK(AP) +256 * PEEK(AP +1):H% = PEEK(AH): IF H% <1 THEN 66
65 FOR I = 1 TO H%:AB = AH +5 *I -2:XT%(I) = PEEK(AB):YT%(I) = PEEK(AB +1):XB%(I) = PEEK(AB +2):YB%(I) = PEEK(AB +3):NS%(I) = PEEK(AB +4): NEXT I
66 N% = PEEK(AH +1):IV% = PEEK(AH +2):AS = AH +3 +5 *H%
67 RETURN
68 POKE LOC +1,NUM/256: POKE LOC,NUM -256 * PEEK(LOC +1): RETURN
69 NUM = PEEK(LOC) +256 * PEEK(LOC +1): RETURN
70 GOSUB 92
71 V = 22:H = 2: GOSUB 95
72 PRINT UL$
73 V = 23:H = 4: GOSUB 95
74 IF S = A1 THEN PRINT " TYPE "DQ$Y$DQ$" OR "DQ$N$DQ$"--AND THEN "DQ$"RETURN"DQ$;: GOTO 82
75 IF S < >A2 THEN 80
76 IF F1% <1 AND HF% <1 THEN PRINT " PRESS "DQ$H$DQ$" TO TRY DEFINITIONS";: GOTO 82
77 IF F1% <1 THEN PRINT "PRESS "RT$" FOR NEXT SCREEN ?=DEF";: GOTO 82
78 IF F1% = 1 THEN PRINT " TYPE NUMBER NEXT TO ITEM YOU WANT ";: GOTO 82
79 IF F1% = 2 THEN H = 3: GOSUB 95: PRINT J$RT$" IF YOU WANT MORE DEF'S";: GOTO 82
80 IF I$ = Q$ THEN PRINT SPC( 35);: GOTO 82
81 PRINT "PRESS "RT$" TO GO TO NEXT SCREEN";
82 V = 24:H = 3: GOSUB 95
83 IF S = 1 OR I$ = Q$ THEN PRINT SPC( 35);: GOTO 87
84 IF F1% = 0 AND (S < >A2 OR HF% >0) THEN PRINT " <B=BACK UP Q=QUIT> ";
85 IF F1% = 1 THEN PRINT "(PRESS "RT$" TO LEAVE DEFINITION)";
86 IF F1% = 2 THEN PRINT J$DQ$"ESC"DQ$" IF YOU DON'T";
87 GOSUB 93: NORMAL : RETURN
88 GOSUB 92:M$ = F2$: IF S < >A4 THEN M$ = F1$ +M$(S) +PS$: IF LEN(M$(S)) >4 THEN M$ = MID$ (M$,2,23)
89 POKE 2039,S +47: IF F1% >0 THEN POKE 2038,4
90 FOR I = 1 TO 22: VTAB I: HTAB 1: INVERSE : PRINT MID$ (M$,I,1);: HTAB 40: NORMAL : PRINT CH$;: NEXT
91 GOSUB 93: RETURN
92 P1 = PEEK(32):P2 = PEEK(33):P3 = PEEK(34):P4 = PEEK(35): POKE 32,0: POKE 33,40: POKE 34,0: POKE 35,23: RETURN
93 POKE 32,P1: POKE 33,P2: POKE 34,P3: POKE 35,P4: RETURN
94 GOSUB 98:V = 10:H = 3: GOSUB 95: PRINT "PLEASE WAIT: DISK DRIVE IN USE...": RETURN
95 HTAB H
96 VTAB V: RETURN
97 HTAB H: RETURN
98 P1 = PEEK(32):P2 = PEEK(33):P3 = PEEK(34):P4 = PEEK(35)
99 POKE 32,1: POKE 33,38: POKE 34,1: POKE 35,24
100 HOME
101 POKE 32,P1: POKE 33,P2: POKE 34,P3: POKE 35,P4
102 RETURN
103 GOSUB 64
104 NUM = AS:LOC = 60: GOSUB 68:NUM = 1024:LOC = 62: GOSUB 68
105 CALL 770
106 F1% = 0: GOSUB 88: GOSUB 70
107 IF F0% >0 THEN GOSUB 52: GOTO 103
108 IF S = 1 THEN GOSUB 33: GOTO 110
109 F2% = 0: GOSUB 12
110 IF I$ = Q$ THEN GOSUB 44: GOTO 103
111 IF I$ = B$ THEN BK% = 1: RETURN
112 IF H% >0 AND I$ = H$ THEN GOSUB 52: GOTO 103
113 RETURN
114 GOSUB 98: GOSUB 88:V = 10:H = 3: GOSUB 95: PRINT "OOPS...A PROGRAM ERROR!":V = V +2: GOSUB 95: PRINT "PLEASE REPORT ERROR #" PEEK(222):V = V +2: GOSUB 95: PRINT "AT LINE NUMBER " PEEK(218) + PEEK(219) *256: END
115 VTAB 2
116 POKE 32,2: POKE 33,36: POKE 34,0: POKE 35,21
117 POKE 32,1: POKE 33,40: POKE 34,0: POKE 35,23
118 D$ = CHR$(4):ES$ = CHR$(27)
119 CH$ = "+":HY$ = "-":X$ = "":H$ = "?":Q$ = "Q":P$ = "P":B$ = "B":Y$ = "Y":N$ = "N":C$ = "C":S$ = "S":SP$ = " ":CR$ = CHR$(13):DQ$ = CHR$(34):RT$ = DQ$ +"RETURN" +DQ$:ES$ = CHR$(27)
120 A1 = 6:A2 = 8:A3 = 7:A4 = 2
121 NP% = 50:PG = 154 -NP%:A0 = PG *256
122 PRINT D$;"BLOAD MASTER.INT,A"A0
123 NT% = PEEK(A0):TH% = PEEK(A0 +1)
124 NM% = 10: DIM M$(NM%): DATA "9","","4","6","2","14","14","14","14","14": FOR I = 1 TO NM%: READ M$(I): NEXT I
125 PS$ = " "
126 F1$ = " SEE MANUAL PART "
127 F2$ = " LEGISOFT/NOLO PRESS "
128 UL$ = "--------------------------------------":J$ = "PRESS "
129 SO = -16336: GOTO 3